\begin{tikzpicture}[
    node distance = 2cm and 2cm,
    N/.style = {circle, draw, font=\Large, minimum size=1.1em},
    every edge/.style = {draw, -> , semithick, shorten >=2pt},
    every edge quotes/.style = {auto=right, inner sep=2pt}
    ]
    \node [N] (1) at (0,0) [label=left:{+}] {1};
    \node [N] (2) [right of=1] {2};
    \node [N] (3) [right of=2] [label=right:{-}] {3};
    % \node [N, red] (4) at ([xshift=1cm, yshift=-1.5cm]2) {4};
    \node [N, red] (4) [below of=2] {4};
    \path (1) edge [->] node [above] {a} (2)
    (2) edge [->] node [below] {c} (3)
    (4) edge [->, red] node [left] {a} (2)
    (4) edge [->, red] node [below] {b} (3)
    (2) edge [loop above] node [above] (b) {b} (2) %循环
    (3) edge [bend right] node [above] (c) {c} (2); %两个节点之间  上
    
\end{tikzpicture}
